建设网络爬虫私有云
GooSeeker网络爬虫软件由两部分组成:
- 网络爬虫云服务器
- 网络爬虫执行单元
我们比较熟悉的在线版本是自助下载和安装的GooSeeker网络爬虫软件,新版称为集搜客数据管家,含有MS谋数台和DS打数机两个软件模块, 这两个软件模块属于网络爬虫执行单元。分散在全国各地的成千上万的用户安装和运行执行单元,由公共云服务器统一调度,通常我们不需要关心云服务器, 所有在线版用户共享这个云服务器,负责
- 存储抓取规则
- 执行用户鉴权和管理用户权限
- 管理爬虫线索和网址
- 调度爬虫
企业版用户能够部署自己完全掌控的私有云服务器,突出的优势是:
- 上列功能都可以用自己的程序逻辑自动控制,可与企业的IT系统无缝集成
- 私有的云服务器,独享服务器的处理能力和网络带宽
- 定义的抓取规则和使用行为完全保密
另外一个突出优势是成本优势:企业版GooSeeker网络爬虫采用Site License授权方式,如果部署在一个大型企业,因为网络爬虫执行单元的部署数量不受限制,平摊的网络爬虫单价就会很低。
高效的分布式、协同化数据采集模式
集搜客GooSeeker用户无论分布在哪里,都可以享受集搜客网络爬虫的服务,在线版用户可以创立一个工作组,邀请其他在线版用户加入工作组,为相同的采集目的协同完成数据采集任务。
企业版将这个能力完全开放,可以完全控制和管理分布式和协同化数据采集模式。
- 在企业内部可以划分成多个工作组
- 工作组可以用后台管理程序随时根据工作目标直接创建
- 工作组大小不受限制
- 工作组的划分和管理完全受控
GooSeeker网络爬虫可以由服务器统一调度,企业版可以用定制开发的更周密的负荷分担算法控制每个网络爬虫的运行,而且根据网络爬虫的运行状态合理调配工作量,对于失败的网络爬虫可以及时予以隔离,甚至在其他网管系统的辅助下,监控网络爬虫计算机各个层面的运行状况。
典型案例
某系统集成公司用集搜客GooSeeker网络爬虫部署了一套证券数据挖掘系统,几个机柜装满服务器,并且将每个物理服务器划分成4个虚拟机,每个虚拟机都部署了网络爬虫程序,所有爬虫协同化海量采集数据。为了监控这么多计算机,该公司专门开发了网管系统和爬虫监控系统。
爬虫路线规划能力
集搜客GooSeeker网络爬虫沿着线索扩展爬行范围,而且不限广度和深度。在线版用户在MS谋数台的爬虫路线工作台上规划爬虫路线,主要能力就是:从抓取到的网址上建立下一级线索,这是深度方向,同时抓取到的下级线索不只一个,那么就是在广度方向进行扩展。
总之,网络爬虫抓取网页数据的时候,把一些网址作为广度或者深度方向扩展的线索。在线版只能在定义抓取规则的时候规划爬虫路线;而企业版可以有更多规划爬虫路线的选择。
在抓取结果清洗和入库的时候在深度和广度方向生成线索,这是企业版常用的方式,此时,企业版GooSeeker具有最大的灵活性和控制力,比如,可以用入库脚本程序任意控制爬虫路线的生成,可以替换URL中的参数,可以根据URL地址规律批量生成网址,可以在一批网址中根据一定规则进行筛选等等。
最大的灵活性在于爬虫路线的生成时间。当网页抓取用于探索性研究的时候,可以根据需要随时延伸爬虫深度和广度范围,不必在第一次数据清洗过程就把所有线索都生成好了,其实那时可能还不知道是否有必要做爬行范围延展。而且也容易实现同一个网址用于多个抓取主题,分别为不同的研究目的服务。
典型案例
某品牌手机消费者洞察系统中,除了常规的网页抓取和数据挖掘以外,还需要一些事件驱动的抓取,比如某款手机的发布会效果分析,也需要一些深度数据挖掘,比如消费者群体差异研究。为了配合这些分析研究,往往需要灵活的网络爬虫路线规划,在探索研究过程中,不断添加新的数据源,要求网络爬虫向深度和广度进行延展的时候具有足够的灵活性。只有企业版GooSeeker网络爬虫才有这个能力。
爬虫调度和负荷规划能力
集搜客GooSeeker网络爬虫是一款高性能网络爬虫软件,多台计算机可为同一目标协同工作,同一台计算机上能运行多个线程并行抓取网页。那么就需要规划每个网络爬虫线程的工作内容和工作负荷,以及启动和停止时间等等。
在线版GooSeeker网络爬虫主要依赖周期性网页抓取调度文件crontab.xml管理网络爬虫,比如,一台计算机上启动多少个线程,每个线程在什么时间启动,每一批包含多少网页,抓取什么主题,按照什么顺序等等。crontab.xml文件是预先生成好的,比如,使用crontab.xml生成器。预先生成的缺点是调度爬虫不够灵活,如果爬几十个网站,这个缺点并不显著,如果要爬几百上千个网站,要把所有的网站目标都编制到crontab文件,将是十分繁琐的。
企业版GooSeeker网络爬虫可以接受服务器下发的任务安排,也就是crontab文件中的每个step都可以通过云服务器下发下来,那么在云服务器上可以实现一个复杂的调度和负荷规划程序,配以爬虫管理程序,能够细致地为每个爬虫安排合适的抓取任务。
极致的开放兼容平台
为什么需要开放的可集成的网页抓取软件
如果网络爬虫只是大型IT系统的一个模块,集搜客GooSeeker网络爬虫能否无缝地集成到各种IT系统中?
此类IT系统对网络爬虫的需求主要包括:
- IT系统可以控制网络爬虫的爬行范围
- IT系统可以控制网络爬虫什么时候启动,每次抓取的批次大小等
- IT系统需要及时获得爬取结果,由IT系统负责内容管理、数据挖掘等信息处理过程
- IT系统能够监控爬虫的成功率,可及时修正失败状态,比如,重新启动抓取失败的线索
集搜客网络爬虫的开放接口
显然,一个封闭的网络爬虫软件不能满足上述需求,而集搜客网络爬虫提供标准的开放的API接口,也可以直接从数据库层面进行对接,完美解决无缝集成问题。
典型案例
已有近百家大型企事业单位的IT系统集成了集搜客网络爬虫,以及配套的数据清洗和数据集成软件模块,这得益于集搜客网络爬虫独特的开放的设计思想和软件架构,更详细信息参看集搜客网络爬虫功能列表。将这些能力打包成开放的软件模块,集成到各类IT软件系统中,IT系统根据自己的业务目标,可以自动调度和管理网络爬虫,典型案例有:
- 某银行项目:集搜客网络爬虫负责抓取中文财经、金融、证券和经济报告类网站内容,而爬行范围、时间安排和其它管理指令是由整个IT系统的其他软件模块发出。
- 某电商竞争分析项目:集搜客网络爬虫负责从国内所有主流电商网站上获取商品、品牌、价格、库存、货架、品类、以及促销信息,爬虫调度、数据汇聚等操作指令的下发都由整个情报分析系统负责。
- 某手机消费者洞察项目:集搜客网络爬虫从电商、论坛、社交媒体、微博、问答等等主流自媒体网站上抓取用户评论和各种互动产生的内容,经过数据清洗处理,交给数据挖掘系统进行分析
- 某上市公司的母婴产品导购平台项目:集搜客网络爬虫实时监视天猫、淘宝、京东和各主流电商的商品、货架、店铺变化情况,及时通知导购平台,例如,某导购攻略提及的商品下架了或者价格变化了,要实时根据通知进行调整